package com.zx.zxpicture.infrstructure.api.aliyunai.model;

import lombok.Data;

@Data
public class GetOutPaintingTaskResponse {
    // 通用字段
    private String request_id; // 请求 ID

    // 输出结果
    private Output output;

    // 使用情况（仅成功响应时存在）
    private Usage usage;

    // 内部类：输出结果
    @Data
    public static class Output {
        private String task_id; // 任务 ID
        private String task_status; // 任务状态（SUCCEEDED, RUNNING, FAILED）
        private String submit_time; // 提交时间
        private String scheduled_time; // 计划时间
        private String end_time; // 结束时间
        private String output_image_url; // 输出图片 URL（仅成功时存在）
        private TaskMetrics task_metrics; // 任务指标（仅执行中时存在）
        private String code; // 错误代码（仅失败时存在）
        private String message; // 错误信息（仅失败时存在）
    }

    // 内部类：任务指标（仅执行中时存在）
    @Data
    public static class TaskMetrics {
        private int total; // 总任务数
        private int succeeded; // 成功任务数
        private int failed; // 失败任务数
    }

    // 内部类：使用情况（仅成功时存在）
    @Data
    public static class Usage {
        private int image_count; // 图片数量
    }
}